Atari 130XE Automated RAM Disk Version 2 By Stephen Rockower, MD 70307,710 This is an updated version of my program which appeared in COMPUTE!, September 1986. The changes make the program somewhat faster and more compact. The program logic has been cleaned up and made less "kludgey". There are 2 versions, DSKBAS for Atari Basic, and DSKBXE for Basic XE by OSS, Inc. The program was originally written in BXE and downtranslated to standard Atari Basic. Download the one you need. For either program, you must create an AUTORUN.SYS file that will run your program. Load SETUP.COM from your DOS menu via option "L", and create the AUTORUN.SYS file to run D1TOD8.BAS, or whatever you want to call it. Note that it can be used via DATA statements or by creating a "DATA" file on D8. If using DATA statements, put your files to be transferred into line 40, followed by "END", followed by the name of the next program to be run. The transferred files DON'T need a D1: prefix, but the chained program DOES. That way you can either run a program from D1: or from D8: (or D2: if you want!!!). If you want to use it from other programs, create a file, "D8:DATA.FIL" and write the appropriate Data statements there. Then use my program with the REMs removed at lines 80, 100, &120 and make a REM at line 45. (Note that line 120 should have the READ F$:RUN F$:REM .... eliminated) Your choice for what works best for you. Actually, what I've done for my own use is to create a DATA file on my floppy with the names of the usual files to be transferred. I have lines: 80 TRAP 90:OPEN #3,4,0,"D8:DATA.FIL": GOTO 100 90 CL. #3:OPEN #3,4,0,"D1:DATA.FIL" 100 INPUT #3,F$ Thus, if there is a DATA file on D8: the program will use those files, otherwise it will find them on D1:. The statement INPUT #3,F$ will then receive the proper string. Note that I have eliminated most of the program as it appeared. This is because I realized, (and Bill Wilkinson pointed out) a number of "less than efficient" methods. Specifically, if ICBLL/H (bytes 8+9 into the IOCB) have the maximum number of bytes possible to be transferred in a read operation, all bytes of the file will be transferred. Thus the file length*125 (no matter how many bytes are actually in each sector) will cover it. After the read operation, ICBLL/H now containes the actual number of bytes transferred, so it can be used for the subsequent write. Also, I have eliminated the POKE 559,0 because it really doesn't speed disk I/O at all, but GRAPHICS 2+16 does to a slight extent. If anyone has other ideas, or other problems, I'd be glad to hear from you via E-Mail to 70307,710. Stephen Rockower, MD 31 August 1986 ⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦⇦